Method and system for the phased retrieval of data

ABSTRACT

In a method of retrieving electronic messages the server ( 2 ) sends the header and the first N text characters of th message body to the terminal device ( 1 ), while holding back any remaining text and any attachments. The server also sends a first flag indicative of any remaining text characters and a second flag indicative of any attachments to the terminal device. The user ( 5 ) of the terminal device can then decide to retrieve more text characters and/or any attachments. This phased message retrieval avoids downloading oversized messages and thus saves bandwidth. The terminal device ( 1 ) may be a handheld device, for example a mobile telephone or a PDA.

The present invention relates to a method and a system for the retrievalof data. More in particular, the present invention relates to a methodof retrieving electronic messages, such as e-mail messages, from aserver.

Electronic messages intended for a particular recipient are typicallystored on a server from where the recipient can retrieve her messages.The stored messages are kept in an electronic mail box which can beremotely accessed. To this end, the recipient's user device or terminalestablishes a connection with the server. This connection may involve atelephone dial-in connection, an ADSL connection or a wirelessconnection. The time required for retrieving the message depends on thebandwidth of the connection and the size (number of bytes) of themessage. Messages that only contain plain text usually requirerelatively little time to retrieve, unless the text is very long and/orthe bandwidth is limited, as may be the case when a wireless connectionof relatively poor quality is used. Electronic messages are sometimes solarge (that is, consist of so many bytes) that their retrieval takeshalf an hour or more, which obviously is inconvenient. Extremely largemessages can sometimes prove impossible to retrieve.

U.S. Pat. No. 6,360,252 discloses a method of presenting e-mail whichinvolves removing the attachments from a message and thus producing apresentation version of the message which contains a descriptor of theremoved attachment. Upon request, the server produces an output versionof the attachment which is then output to a specific rendering device,such as a fax machine.

This known method has the advantage that the overall size of the messageis considerably reduced by the removal of the attachments. In addition,a rendering device can be selected which is suitable for the specifictype of attachment. However, this known method has the disadvantage thatit leaves the body of the message, that is the text part, unaffected.Particularly long message bodies can still take an undesirably long timeto retrieve. In addition, rendering the attachments on a differentdevice from the user device may be impractical as the user may not be inthe vicinity of such a device.

It is an object of the present invention to overcome these and otherproblems of the Prior Art and to provide a method of and a system forretrieving electronic messages which even further reduces thetransmission time required.

Accordingly, the present invention provides a method of retrieving anelectronic message from a server using a terminal device, the messagecomprising a header and a body capable of containing characters, themethod comprising the steps of:

-   -   establishing a communications link between the server and the        terminal device,    -   the server transmitting the header and the first N characters of        the body to the terminal device, where N is a predetermined        integer, while holding back any remaining characters of the body        and any attachments,    -   the server transmitting a flag indicative of any remaining        characters of the body and/or any attachments to the terminal        device.        By not transmitting the attachments with the initial message, an        important time and bandwidth saving is achieved. By additionally        limiting the body of the initial message to N characters, where        N may be any suitable number such as 100 or 1000, a further time        and bandwidth reduction is achieved. By additionally        transmitting a flag indicative of any remaining parts of the        message, the user can selectively retrieve the electronic        message in consecutive “phases”.

The phased retrieval according to the present invention is thereforevery effective in avoiding the transmission of any unwanted messageparts. This reduces the transmission time of the message andaccommodates any memory restraints of the terminal device.

The flag may be null if no characters and/or attachments remain on theserver, in which case the flag may be omitted. It is preferred, however,that a flag is transmitted even if there are no remaining message parts.In a preferred embodiment, the flag comprises a first flag indicative ofany remaining characters and a second flag indicative of any (remaining)attachments. By providing two flag sections, the user is offered abetter overview of any remaining message parts, thus allowing a betterselection of the message parts.

After the first retrieval phase the terminal device is capable ofpresenting the first part of the message, the first N characters of thebody, to the user. The user can then decide whether she wants toretrieve the remainder of the body, if any, as indicated by the firstflag. The terminal device also alerts the user to the presence of anyattachments on the basis of the second flag or flags. If there are anyremaining parts of the message the user wishes to retrieve, one or moreof those remaining parts are retrieved in the second retrieval phase.The user may retrieve further message parts in a third, fourth, orsubsequent phase.

It is possible that there are no remaining parts after executing thefirst phase because there are no attachments and the body of the messagehas a size of less than N characters. It is also possible that there areremaining message parts but that the user is not interested inretrieving them. Preferably, however, the method of the presentinvention comprises the further step of the terminal device requesting,in response to the first and/or second flag, the server to send afurther P (where P is an integer) characters and/or a selectedattachment respectively.

The integer N indicating the number of characters initially retrievedfrom the server may be a fixed number, set by the hardware manufactureror by a system maintenance technician. In an advantageous embodiment,the number N is set by the server, possible is response to system and/orterminal device requirements. However, in another advantageousembodiment the number N is determined by a user of the terminal device.That is, the user may be capable of setting and/or adjusting the numberof characters retrieved during the first retrieval phase. The number(integer) N may be determined in accordance with user preferences and/orhardware limitations such as a screen size. It is preferred that thenumber P indicating the number of characters (if any) retrieved during asecond or subsequent retrieval phase is also determined by the user. Itis noted that the number P may be equal to the number N, but this is notrequired. Similarly, the number of characters (if any) retrieved duringa third or fourth retrieval phase, if applicable, may be equal but doesnot need to be equal to P and may be different numbers Q and Rrespectively.

The numbers N, P, Q . . . of characters retrieved per phase ispreferably 1000 or 1024, although other numbers may also be used, suchas 500 or 512, 100 or 128, 2000 or 2048, or any other suitable number.According to a further aspect of the present invention, N can be set toan “infinite” value (preferably a special, reserved number) indicatingthat the entire body plus attachments is to be retrieved and that thephased retrieval is effectively switched off. Similarly, anotherreserved value may be provided which provides the user with the optionof retrieving the entire body of the message but not the attachments.

It is noted that instead of, or in addition to, the maximum number ofcharacters retrieved during a retrieval phase a maximum number of linesmay be defined. Alternatively, or additionally, a mechanism may beprovided which avoids text being cut off in the middle of a word or asentence. Such a mechanism may shorten or possibly slightly lengthen themessage so that any retrieval phase ends, for example, with a space or aperiod.

When executing the further step of the terminal device requesting, inresponse to the first and/or second flag, the server to transmit afurther P characters and/or at least one selected attachmentrespectively, these further characters and/or selected attachment(s) arepreferably sent to the terminal device. It is, however, also possiblefor the server to send the message parts of the second or further phaseto another device, such as a desktop PC, a fax machine, etc.

The server may carry out automatic mail box management, thus relievingthe user of this task. In a preferred embodiment, for example, theserver erases the message after transmission if there is no remainingtext and no attachments. Conversely, the server preferably retains themessage if any remaining characters or any attachments are not yettransmitted. However, this may be made subject to storage capacity. Whenthe server stores messages in a mailbox having a limited capacity, apartially transmitted message may be erased if additional mailboxcapacity is required. That is, remaining parts of messages left on theserver may for example be deleted if any incoming messages requirestorage while insufficient storage capacity is left. The deletion ofremaining parts of messages may depend on their age, parts of oldermessages preferably being deleted first.

Although the terminal device may be any device capable of communicatingwith a server and receiving electronic messages, the terminal device ispreferably a mobile handset or a PDA (Personal Digital Assistant).

The present invention further provides a system for retrievingelectronic messages, the system comprising a server and a terminaldevice, wherein the messages comprise a header and a body capable ofcontaining characters, the server and the terminal device being capableof establishing a communications link, wherein

-   -   the server is arranged for transmitting the header and the first        N characters of the body to the terminal device, where N is a        predetermined integer, while holding back any remaining        characters and any attachments,    -   the server is arranged for transmitting a flag indicative of any        remaining characters of the body and any attachments to the        terminal device.        Advantageously, the flag may comprise a first flag indicative of        any remaining characters and a second flag indicative of any        attachments. Alternatively, the flag may be omitted if no        further characters and no attachments are available.

In a preferred embodiment, the terminal device is arranged forrequesting, in response to the first and/or second flag, the server tosend a further P characters and/or a selected attachment respectively.

The present invention additionally provides a terminal device for use inthe system defined above, the terminal device being capable of:

-   -   establishing a communications link with a server,    -   receiving the header and the first N characters of the body of a        message, and    -   receiving a flag indicative of any remaining characters and any        attachments to the terminal device,        which terminal device is arranged for requesting, in response to        the flag, the server to send a further P characters and/or a        selected attachment.

Advantageously, the flag may comprise a first flag indicative of anyremaining characters and a second flag indicative of any attachments.Alternatively, the flag may be omitted if no further characters and noattachments are available.

The terminal device is preferably arranged for mobile telephony and may,for example, be a handset for use with GSM, GPRS, UMTS, etc. Theterminal device may alternatively be a PDA capable of wirelesscommunication, either by means of cellular (mobile) telephone networksor by means of infra-red communication, using a wireless protocol suchas Bluetooth®.

The present invention will further be explained below with reference toexemplary embodiments illustrated in the accompanying drawings, inwhich:

FIG. 1 schematically shows an embodiment of a system according to thepresent invention.

FIG. 2 schematically shows an electronic message as utilized in thepresent invention.

FIG. 3 schematically shows a flow diagram of a method according to thepresent invention.

FIG. 4 schematically shows a flag as used in the system and the methodof the present invention.

FIG. 5 schematically shows a data exchange as used in the system and themethod of the present invention.

The system 10 shown merely by way of non-limiting example in FIG. 1comprises a user terminal 1, a server 2, a communications network 3, andremote units 4. The terminal 1 is operated by a user 5.

The terminal 1 may be a mobile telephone device, a PDA (Personal DigitalAssistant) having communications facilities, a laptop or desktopcomputer having communications facilities, or any other suitable device.The terminal 1 preferably is a handheld device having a screen and beingcapable of mobile data communications, for example but not limited to aGSM device having i-mode capabilities.

The server 2 may be any suitable commercially available server capableof handling electronic messages, such as e-mail messages. The server 2preferably is capable of supporting i-mode data communications. Acommunications network 3 is coupled to the server 3 and to remote units4. The network 3 may be any suitable network, such as the Internet, aLAN (Local Area Network) or a WAN (Wide Area Network). The remote units4 may be further servers which may, for example, produce electronicmessages destined for the user 5.

A communications link 6 can be established between the terminal 1 andthe server 2 using, for example, antennas 7. The link 6 allows messagesto be exchanged between the server 2 and the terminal 3. It will beunderstood that it is not necessary for the link to be continuous aslong as the link 6 allows data to be exchanged between the server 2 andthe terminal at certain intervals.

The link 6 is preferably, but not necessarily, at least partially mobile(cellular), that is, wireless. Such communications links typically havea limited bandwidth which may be further reduced by interferences due tobad weather, buildings blocking the transmission path, and other adverseinfluences. It will be clear that the transmission time required for amessage depends on the available bandwidth and the length of themessage: when bandwidth is limited, relatively long messages willrequire a substantial transmission time, which is not always acceptable.

An exemplary e-mail message as may be used in the system 10 isschematically presented in FIG. 2. The message 20 comprises a header 21,a body 22 and attachments 23. The header 21 contains transmissioninformation such as the origin and the destination of the message. Theattachments 23 may contain images, sound items, text documents, andother parts of the message which are not part of the body 22. The numberof attachments may of course vary and any message may have a singleattachment, several attachments or no attachments at all.

The body 22 of the message 20 contains text characters 24. The length ofthe body 22 may vary as some messages contain no text at all (e.g. onlya header and possibly one or more attachments) whereas other messagebodies contain thousands of characters.

In accordance with the present invention the transmission time ofelectronic messages is drastically reduced by substantially reducing thelength of the message (it is noted that the length of the message, asthis term is used here, may be interpreted as the total number of bytesof the message). This is accomplished by:

-   -   removing any attachments,    -   shortening the body of the message, and    -   initially sending the message header and the shortened body        only, while saving any removed parts of the message for later        retrieval, if desired. The transmission of the message is        therefore broken down into separate phases: an initial phase in        which only the message header and the shortened message body is        transmitted, and optional second and subsequent phases in which        the remainder of the message body (or part of the remainder)        and/or any attachments are retrieved. To facilitate the        retrieval in the second (and any subsequent) phase, the server        (2 in FIG. 1) may transmit flags to the terminal, a first flag        indicating whether any remainder of the message body is        available and at least one second flag indicating the        availability of any attachments.

As schematically shown in FIG. 2, the message body 22 may be shortenedto N characters where N is, for example, equal to 1000. This results ina shortened message body 22 a and a remainder 22 b. In accordance withthe present invention, initially only the shortened body 22 a istransmitted, the remainder 22 b (as well as any attachments 23) beingretained by the server.

It will be understood that the number N may be 20, 100, 500, 512, 1000,1024, 4096 or any other suitable number. The number N may be determinedby the user or by her terminal 1, but in a preferred embodiment thenumber N is determined by the server 2. Any remainder of the messagebody may, upon transmission, also be limited to the number N, or belimited to another suitable number. A long message body may be retrievedin more than two phases, the number of characters retrieved in eachphase being equal to N, P, Q, etc. respectively, where P and Q are notnecessarily equal to N.

Although it is preferred that the shortened message body has a maximumnumber of N characters, embodiments can be envisaged in which a maximumnumber of lines, words or sentences is defined.

An embodiment of the method of the present invention is schematicallyillustrated in the flow diagram of FIG. 3. In step 101 thecommunications link (6 in FIG. 1) between the server and the terminal isestablished. In step 102 the server (2 in FIG. 1) transmits the header,the shortened message body and any flags to the terminal (1 in FIG. 1).In step 103, the terminal presents a message identification (ID) to theuser. The message identification may, for example, be a subject lineand/or the entire shortened message body.

In step 104, it is determined whether any flags are present. If no flagshave been received, the message is complete and the transmission isfinished. If there is at least one flag, it is presented to the user instep 105. The user may then select a message part identified by a flagin step 106. If a flag was selected, the terminal sends a request to theserver for the retrieval of the selected message part(s) and the serverresponds by transmitting the requested message part in step 107. Thecorresponding flag(s) is/are deleted and the routine returns to step104. The routine ends when no more flags are available or when no moreflags are selected by the user.

The message identification (ID) mentioned above and which is used toprovide a message identification to the user may be used during themethod described above to uniquely identify the message and its parts.That is, in any exchange of information between the server and theterminal, the message ID may be used to retrieve further parts of amessage, all parts of the same message having the same message ID. Whena new message is to be retrieved, either phased or in full, the messageID is typically not available to the terminal prior to the retrieval.

The server may be arranged for deleting a message once it is completelytransmitted. The server may also delete a message which is onlypartially transmitted but for which no further retrieval requests arereceived within a certain time period.

A flag as used in the present invention is schematically illustrated inFIG. 4. The flag 30 comprises a first section (first flag) 31 and asecond section (second flag) 32. The first flag 31 is indicative of anyremaining characters, that is, any remaining part of the body (22 inFIG. 2) of the message (20 in FIG. 2). For example, the flag may be “1”if there are remaining characters and “0” if there are no remainingcharacters.

The second flag 32 is indicative of any (remaining) attachments (23 inFIG. 2). The second flag may contain sub-flags (not shown), eachidentifying an individual attachment. Embodiments can be envisaged inwhich the second flag is not sent to the terminal if the message has noattachments, or if all attachment have already been retrieved.Similarly, embodiments can be envisaged in which no flag at all is sentto the terminal. This may be the case when the message contains lessthan N characters and has no attachments. However, it is preferred tosend a flag, if only the first flag, to indicate whether or not anyremaining message parts are retrievable.

A preferred embodiment of the present invention is based upon the i-modemail protocol. In this embodiment, both full retrieval according to thePrior Art and phased retrieval according to the present invention areavailable. Existing parameters of the i-mode mail protocol are used toconvey the additional information required. For example, the ATTparameter in the GET request and the X-EID header are used todistinguish between full retrieval and phased retrieval and to identifymessages respectivley. An additional HTTP header, X-MP, is introduced toact as the flags of the present invention, that is, to allow the serverto communicate to the client whether there are any remaining messageparts. No changes to the syntax of the existing protocol are necessary.

When fall retrieval of all new messages is required, the terminal sendsa request in which ATT=ALL while the X-EID value in the GET command isequal to 00000: ALL indicates full retrieval while 00000 indicates allmessages. In the response from the server the X-EID value identifies thecurrent message and the next message.

When phased retrieval of all new messages is required, the terminalsends a request in which ATT=PH while the X-EID value in the GET commandis again equal to 00000. Again, in the response from the server theX-EID value identifies the current message and the next message. If thecurrent message is not fully retrieved because there are remaining partson the server, the X-MP flags are set allowing the terminal device toalert the user to the possibility of downloading further parts of themessage. When the retrieval of any remaining parts of the message isrequired, the X-EID value is used to identify the message while the ATTattribute may be used to indicate which part(s) is/are to be retrieved.

The retrieval of messages according to the present embodiment isschematically illustrated in the diagram of FIG. 5, which shows the dataexchanged between the terminal 1 and the server 2 during the retrievalof a message xxxxx containing attachments and a message yyyyy which hasless than N characters and which has no attachments.

In the non-limiting example of FIG. 5, a first step 201 is carried outupon the receipt of a mail notification or a manual retrieval command.In step 201, the terminal 1 sends the following data to the server:

-   -   GET ATT=PH    -   X-EID: 00000        indicating that phased retrieval (PH) is to be carried out and        that all messages (00000) are to be (partially) retrieved.

In step 202 the server responds by sending the message xxxxx and thefollowing data to the terminal:

-   -   HTTP/1.1 200 OK    -   X-EID: xxxxx/yyyyy    -   X-MP: True        where the value of X-EID indicates that the server is sending        message xxxxx and has message yyyyy available, while the value        of X-MP indicates that there are remaining parts of current        message xxxxx (X-MP is True). In step 202, therefore, the server        transmits partial message xxxxx to the terminal while storing        the remainder of xxxxx. Note that in this embodiment, the server        automatically transmits any available shortened message, in the        present example xxxxx. Step 202 concludes by the terminal        receiving message xxxxx and marking this message as partial in        response to the (first) flag X-MP.

In step 203, the terminal issues an automatic request by transmittingthe following data to the server:

-   -   GET ATT=PH    -   X-EID: xxxxx/yyyyy        where the value of X-EID confirms the receipt of the data sent        by the server. In response, the server marks message xxxxx as        partially read and sends message yyyyy in step 204, also        transmitting the following data:    -   HTTP/1.1 200 OK    -   X-EID: yyyyy/EIEOF    -   X-MP: False        where EIEOF indicates that there are no further messages and        where X-MP: False indicates that there are no remaining parts.        The terminal receives message yyyyy.

In step 205, the terminal issues an automatic request:

-   -   GET ATT=PH    -   X-EID: yyyyy/EIEOF        which causes the server to delete message yyyyy, thus freeing        storage space. Finally, the server sends in step 206 the        following data to the terminal:    -   HTTP/1.1 251 FIN    -   X-EID: 00000/00000        which concludes the procedure.

It is noted that in step 206 no flag (X-MP) is transmitted as there areno remaining message parts.

Although the invention has been explained with specific reference toe-mail messages, it is noted that the invention is not so limited andthat other messages, such as data messages, can be retrieved in themanner described above.

The present invention is based upon the insight that transmitting entireelectronic messages may require too much time and/or bandwidth and thatmore effective use can be made of available resources by dividingmessages, including message bodies, into parts which may be retrievedseparately. The present invention benefits from the further insight thata user may not wish to retrieve all parts of a message, thus furtherreducing the time and bandwidth required.

It is noted that any terms used in this document should not be construedso as to limit the scope of the present invention. In particular, thewords “comprise(s)” and “comprising” are not meant to exclude anyelements not specifically stated. Single elements may be substitutedwith multiple elements or with their equivalents.

It will therefore be understood by those skilled in the art that thepresent invention is not limited to the embodiments illustrated aboveand that many modifications and additions may be made without departingfrom the scope of the invention as defined in the appending claims.

1. A method of retrieving an electronic message from a server (2) usinga terminal device (1), the message (20) comprising a header (21) and abody (22) capable of containing characters, the method comprising thesteps of: establishing a communications link (6) between the server andthe terminal device, the server transmitting the header (21) and thefirst N characters (24) of the body to the terminal device, where N is apredetermined integer, while holding back any attachments (23), theserver transmitting a flag (30) indicative of any remaining characters(24) of the body and/or any attachments (23) to the terminal device. 2.The method according to claim 1, wherein the flag (30) comprises a firstflag (31) indicative of any remaining characters and a second flag (32)indicative of any attachments (23).
 3. The method according to claim 1,comprising the further step of: the terminal device (1) requesting, inresponse to the flag (30), the server (2) to transmit a further Pcharacters (24) and/or a selected attachment (23).
 4. The methodaccording to claim 1, wherein the integer N is determined by the server.5. The method according to claim 4, wherein the server (2) erases themessage after transmitting if there is no remaining text and noattachments.
 6. The method according to claim 5, wherein the server (2)retains the message if any remaining text or any attachments are not yettransmitted.
 7. The method according to claim 6, wherein the server (2)stores messages in a mailbox having a limited capacity, and wherein apartially transmitted messages is erased if additional mailbox capacityis required.
 8. The method according to claim 7, wherein the terminaldevice (1) is a mobile handset or a PDA.
 9. A system (10) for retrievingelectronic messages, the system comprising a server (2) and a terminaldevice (1), wherein the messages (20) comprise a header (21) and a body(22) capable of containing characters, the server and the terminaldevice being capable of establishing a communications link (6), whereinthe server is arranged for transmitting the header (21) and the first Ncharacters (24) of the body to the terminal device, where N is apredetermined integer, while holding back any remaining characters andany attachments, the server is arranged for transmitting a flagindicative of any remaining characters (24) of the body and anyattachments (23) to the terminal device.
 10. The system according toclaim 9, wherein the flag (30) comprises a first flag (31) indicative ofany remaining characters (24) and a second flag (32) indicative of anyattachments (23).
 11. The system according to claim 9, wherein theterminal device (1) is arranged for requesting, in response to the flag(30), the server (2) to send a further P characters (24) and/or aselected attachment (23).
 12. A terminal device (1) for use in thesystem (10) of claim 9, the terminal device being capable of:establishing a communications link (6) with a server (2), receiving theheader (21) and the first N characters of the body (22) of a message(20), and receiving a flag (30) indicative of any remaining charactersof the body (22) and any attachments (23) to the terminal device, whichterminal device (1) is arranged for requesting, in response to the flag,the server to send a further P characters and/or a selected attachment.13. The terminal device according to claim 12, arranged for mobiletelephony.